home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / mint / mgr / sparcmgr / src.zoo / src / event.h < prev    next >
Encoding:
C/C++ Source or Header  |  1989-03-17  |  3.7 KB  |  91 lines

  1. /*                        Copyright (c) 1987 Bellcore
  2.  *                            All Rights Reserved
  3.  *       Permission is granted to copy or use this program, EXCEPT that it
  4.  *       may not be sold for profit, the copyright notice must be reproduced
  5.  *       on copies, and credit should be given to Bellcore where it is due.
  6.  *       BELLCORE MAKES NO WARRANTY AND ACCEPTS NO LIABILITY FOR THIS PROGRAM.
  7.  */
  8. /*    $Header: event.h,v 1.2 89/03/17 09:07:21 sau Exp $
  9.     $Source: /m1/mgr.new/src/RCS/event.h,v $
  10. */
  11. static char    h_event_[] = "$Source: /m1/mgr.new/src/RCS/event.h,v $$Revision: 1.2 $";
  12.  
  13. /* event codings for mgr */
  14.  
  15. #define EVENT_B1_DOWN        1        /* right button down */
  16. #define EVENT_B2_DOWN        2        /* middle button down */
  17. #define EVENT_BSYS_DOWN        4        /* left (system) button down */
  18. #define EVENT_B1_UP        -1        /* right button going up */
  19. #define EVENT_B2_UP        -2        /* middle button going up */
  20. #define EVENT_BSYS_UP        -4        /* left (system) button up */
  21. #define EVENT_SHAPE        5        /* window reshaped */
  22. #define EVENT_REDRAW        6        /* screen redraw */
  23. #define EVENT_ACTIVATED        7        /* window made active window */
  24. #define EVENT_DEACTIVATED    8        /* window no longer active */
  25. #define EVENT_COVERED        9        /* window is partly obscured */
  26. #define EVENT_UNCOVERED        10        /* window is un-obscured */
  27. #define EVENT_MOVE        11        /* window was moved */
  28. #define EVENT_DESTROY        12        /* client window destroyed */
  29. #define EVENT_ACCEPT        13        /* messages accepted */
  30. #define EVENT_NOTIFY        14        /* set window name */
  31. #define EVENT_TELLME        15        /* unused */
  32. #define EVENT_SNARFED        16        /* a snarf happened */
  33. #define EVENT_PASTE        17        /* a paste happened */
  34.  
  35. #define MIN_EVENT        -4
  36. #define MAX_EVENT        17
  37. /* NOTE, MAXEVENTS in defines.h must be kept consistent with these values.
  38. */
  39.  
  40. /* Check if the given event number is legal, return TRUE if it is.
  41. */
  42. #define CHK_EVENT(event)    (MIN_EVENT <= (event)  &&  (event) <= MAX_EVENT)
  43.  
  44. /* event stack control flags */
  45.  
  46. #define EVENT_STACK        18        /* stack events */
  47. #define EVENT_STFLAG        19        /* events stacked somewhere */
  48.  
  49. /* button event control chars */
  50.  
  51. #define E_ESC            '%'        /* escape char */
  52. #define E_POS            'p'        /* return mouse position */
  53. #define E_CPOS            'P'        /* mouse position (cols/rows)*/
  54. #define E_SWRECT        'r'        /* sweep out a rectangle */
  55. #define E_SWRECTA        'R'        /* " in screen coords */
  56. #define E_SWBOX      'b'      /* sweep out a box */
  57. #define E_SWBOXA     'B'      /* " in screen coords */
  58. #define E_SWLINE        'l'        /* sweep out a line */
  59. #define E_SWTEXT        't'        /* sweep out text */
  60. #define E_SWTEXTT        'T'        /* " text region only */
  61. #define E_NOTIFY        'n'        /* get applic. notification */
  62. #define E_WHO            'w'        /* get applic. id */
  63. #define E_WHOSIZE        'S'        /* get applic. size */
  64. #define E_FROM            'f'        /* who is message from */
  65. #define E_MESS            'm'        /* message sent */
  66. #define E_MSGSIZE        's'        /* size of message sent */
  67. #define E_SNARFSIZE        'c'        /* size of cut buffer */
  68. #define E_SNARFBUF        'C'        /* content of cut buffer */
  69. #define E_TIMESTAMP    'M'        /* timestamp (100ths seconds since MGR startup) */
  70.  
  71. #define E_LIST_BUTTON        "%pPrRbBlTtnwSM"    /* valid esc's for buttons */
  72. #define E_LIST_UP                "%pPM"  /* valid esc's for button ups */
  73. #define E_LIST_ACCEPT        "%pPfms"    /* valid esc's for notify */
  74. #define E_LIST_SNARF        "%cCf"        /* valid esc's for snarf */
  75. #define E_LIST_PASTE        "%c"        /* valid esc's for snarf */
  76.  
  77. #define E_MAIN        0            /* in main window */
  78. #define E_STACK        1            /* on window stack */
  79.  
  80. /* other event macros */
  81.  
  82. /* convert event number to index into event array */
  83. #define GET_EVENT(event)    ((event)-(MIN_EVENT))
  84.  
  85. #define EVENT_SET_MASK(win,event)    \
  86.                 ((win->event_mask) |= (1L<<GET_EVENT(event)))
  87. #define EVENT_CLEAR_MASK(win,event)    \
  88.                 ((win->event_mask) &= ~(1L<<GET_EVENT(event)))
  89. #define IS_EVENT(win,event)    \
  90.                 ((win->event_mask) & (1L<<GET_EVENT(event)))
  91.